<?php

require_once "../com/dtos/Usuario.php";
include("../DB.php");
//conection info
class Permisos {

    public function consultar($pk) {
		$query = "SELECT USR.USRPK, USR.USRID, USR.USRNOMBRE, USR.USRTELEXT, USR.USRPASSWORD, USR.CLNPK, CLN.CLNNOMBRE " .
				"from USR_USUARIOS USR LEFT JOIN CLN_CLIENTES CLN ON USR.CLNPK = CLN.CLNPK  " .
				"WHERE USRPK = '$pk' and USRACTIVO = true";
        $result = mysql_query($query);
        $usuario = null;
        if (mysql_num_rows($result) > 0){
        	$row = mysql_fetch_array($result);
	        $usuario = new Usuario();
	    	$usuario->pk=$row['USRPK'];
	    	$usuario->id = $row['USRID'];
	    	$usuario->nombre = $row['USRNOMBRE'];
			$usuario->telExt = $row['USRTELEXT'];
			$usuario->psw = $row['USRPASSWORD'];
			$usuario->clnPk = $row['CLNPK'];
			$usuario->clnNombre = $row['CLNNOMBRE'];
			$query = "SELECT PRM.PRMPK, PRMDESCRIPCION from " .
					"CPU_COMBINAPERMISOSUSUARIOS CPU inner join PRM_PERMISOS PRM ON CPU.PRMPK = PRM.PRMPK " .
					"where USRPK = ".$row['USRPK'];
			$usuario->permisos = mysql_query($query);
			$query = "SELECT PRMPK from CPU_COMBINAPERMISOSUSUARIOS where USRPK = ".$row['USRPK'];
			$usuario->permisosNegados = mysql_query("SELECT PRMPK, PRMDESCRIPCION from PRM_PERMISOS PRM where PRMPK not in ($query)");

        }else{
        	throw new Exception("Usuario no válido");
        }
    	return $usuario;
    }

    public function edit($llegada){
		$usuario = (object) $llegada;
		try{
	    	$query = "DELETE FROM CPU_COMBINAPERMISOSUSUARIOS ".
	    			"WHERE USRPK = $usuario->pk";
	    	mysql_query($query);

    		$array = $usuario->permisos;
			$count = count($array);
			for ($i = 0; $i < $count; $i++) {
				$permiso = (object)$array[$i];
				$query = "INSERT INTO CPU_COMBINAPERMISOSUSUARIOS (USRPK,PRMPK) VALUES ($usuario->pk,$permiso->PRMPK)";
				mysql_query($query);
    		}
    		return ;
    	}catch(Exception $e){
    		throw new exception("Error al editar\n".mysql_error());
    		//throw new exception($query);
    	}
    }

}
?>